package com.heze.xunhuan.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 举报表实体类
 *
 * @author heze-xunhuan
 */
@Data
@TableName("reports")
public class Report implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 举报ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 举报人ID
     */
    private Long reporterId;

    /**
     * 举报目标类型:user-用户,post-信息,message-消息
     */
    private String targetType;

    /**
     * 目标ID
     */
    private Long targetId;

    /**
     * 举报类型:spam-垃圾信息,fraud-欺诈,illegal-违法,harassment-骚扰,other-其他
     */
    private String reasonType;

    /**
     * 举报详情
     */
    private String reasonDetail;

    /**
     * 证据JSON
     */
    private String evidence;

    /**
     * 处理状态:pending-待处理,processing-处理中,resolved-已解决,rejected-已拒绝
     */
    private String status;

    /**
     * 处理人ID
     */
    private Long handlerId;

    /**
     * 处理时间
     */
    private LocalDateTime handledAt;

    /**
     * 处理结果
     */
    private String handledResult;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
}

